package top.kaoshanji.p4ch26c;

/**
 * 代码清单-p4ch26c-336页a：抽象电梯状态
 * @author kaoshanji
 * ^_^
 * create time 2025/3/27 17:10
 */
public abstract class LiftState {

    // 定义一个环境角色，也就是封装 状态的变化 引起的 功能变化
    protected Context context;

    public void setContext(Context context) {
        this.context = context;
    }

    /**
     * 首先电梯门开启动作
     */
    public abstract void open();

    /**
     * 电梯门可以开启，那当然也就有关闭了
     */
    public abstract void close();

    /**
     * 电梯要能上能下，运行起来
     */
    public abstract void run();

    /**
     * 电梯还要能停下来
     */
    public abstract void stop();

}
